<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    

<script src="./07-Promise.js"></script>
<script>

// 原生的Promsie
// console.log( Promise );// ƒ Promise() { [native code] }
// console.log( window.Promise );// ƒ Promise() { [native code] }

let p1 = new Promise((resolve,reject)=>{// excutor执行器函数，同步执行
    console.log( 'excutor函数...' );
    
    // 1.先改变状态，后指定成功和失败的回调函数
    resolve(123);
    // reject(456);
});

p1.then(
    (res)=>{// 成功状态的回调函数 -> resolveCallback
        console.log( 'p1成功1',res );
    },
    (res)=>{// 失败状态的回调函数 -> rejectCallback
        console.log( 'p1失败1',res );
    }
);

p1.then(
    (res)=>{// 成功状态的回调函数 -> resolveCallback
        console.log( 'p1成功2',res );
    },
    (res)=>{// 失败状态的回调函数 -> rejectCallback
        console.log( 'p1失败2',res );
    }
);


let p2 = new Promise((resolve,reject)=>{// excutor执行器函数，同步执行
    console.log( 'excutor函数...' );
    
    // 2.先指定成功和失败的回调函数，后改变状态
    setTimeout(()=>{
        console.log( '异步完成' );
        // resolve(666);
        reject(777);
    },500)
});

p2.then(
    (res)=>{// 成功状态的回调函数 -> resolveCallback
        console.log( 'p2成功',res );
    },
    (res)=>{// 失败状态的回调函数 -> rejectCallback
        console.log( 'p2失败',res );
    }
);

</script>
</body>
</html>